Simulating system execution of applications made up of instructions (viz., processor instructions) is commonly performed. Typically, such simulation is performed to ensure that the system and the applications operate as they are expected or intended to operate. Furthermore, such simulation may be performed to verify that systems, applications, and computer programs that were designed for older, outdated hardware are properly executed using more modern hardware. This type of simulation is known as functional simulation. However, other types of simulation of system execution of instructions are also important.
For instance, another type of simulation simulates how long it will take a system to execute the instructions of a given application. This type of simulation is known as timing simulation. As another example, a type of simulation may simulate how much electrical power the system uses to execute the instructions of a given application. This type of simulation is known as power simulation.
While functional simulation of system execution of instructions is a well-researched area, timing simulation and power simulation of such system execution of instructions have not been as well researched. As a result, timing simulation and power simulation, among other types of simulation, while important, do not have as satisfactory solutions as functional simulation does. For these and other reasons, there is a need for the present invention.